Control PPP is a control strip module for all you road warriors. It lets you connect or disconnect MacPPP and open the TCP and Config PPP control panels to change your dial up number, etc. It also indicates whether MacPPP is open or not by a mere glance at its icon, in case you have an internal modem, and, by popular demand, now records the time you spend online, both for the current session and in total.
Control PPP 1.2.1 might conceiveably be compatible with Open Transport: read on╔
Control PPP is postcardware.
No, it doesn╒t tell you how to configure MacTCP and MacPPP for the peculiarities of your individual modem or Internet provider, and please don╒t mail me with such questions. I only know about my own modem and provider.
Contact your provider or ask in comp.sys.mac.comm.
How to Install it
Simply drop Control PPP into your Control Strip Modules folder (or Desktop Strip Modules folder if you╒re using Desktop Strip, but please read the limitations below), which is within your System Folder, and restart your Mac. If MacPPP isn╒t installed on your Mac, Control PPP will silently refuse to load.
Requirements
Control PPP needs the Control Strip or Desktop Strip control panel, and MacPPP (or FreePPP). It therefore needs System 7.0 or better. Anyway, it'll crash if you somehow manage to load it under System 6, I promise!
Control PPP should now be compatible with Open Transport, provided your version of MacPPP is also compatible, but so far I have not been able to test this. If anyone feels like giving or loaning me a PCI PowerMac, then of course I'd be happy to do extensive testing╔
At the time of writing, the best combination for Open Transport appears to be FreePPP 1.0.1 and Open Transport 1.0.7.
MacTCP 2.2.0a is said to be incompatible with Open Transport, but an update is in preparation. My Open Transport coding is based on MacPPP 2.1.2SD and FreePPP, and may or may not work with other versions of MacPPP. I intend to support future versions of MacPPP, but make no commitment to do so.
How to Use it╩
Use the bottom item in the menu to connect or disconnect.
Use the middle two items to open the TCP and PPP control panels (useful for switching to a different provider, dial-up number etc).
Use the top two items to show (or hide) the timer and reset it.
Simple, huh? There╒s balloon help too.
Am I Online?
You see this icon when MacPPP is down:╩
and this one when MacPPP is up:╩
What am I Doing to my Phone Bill?
If you show the timer, you╒ll see this: ╩
If your version of the Control Strip control panel lets you choose the control strip's font, you need to set it to a small size such as to make the timers fit properly. 9 point Geneva is good.
The top timer shows the time taken by your current session (last session if you're not currently connected). The bottom timer shows the cumulative time taken by all sessions since you last reset the timer.
Tips
If you╒re using Apple╒s Control Strip, you can move any module left and right by dragging it with the option key held down.
By default Control PPP disconnects with a ╥Hard Close,╙ meaning that MacPPP won╒t redial without asking you. This is normally what you want. If you want a ╥Soft Close,╙ hold down the command key as you pop the menu up. Let me be quite clear about what this means: if you Soft Close, then MacPPP can (and usually will) redial, and run up your phone bill, without asking you.
More about the timer
The timer runs whether or not you show it. It records the time MacPPP is connected, not the time your ╒phone is connected, so it won╒t record time spent by your modem if the login process fails.
Control PPP will notice the beginning or end of an online session as long as any part of the Control Strip is visible. It╒s fine if the timer is hidden, Control PPP is scrolled off the end of the strip, or the strip is collapsed, but if the entire Control Strip is turned off when you connect/disconnect then the timer won't start/stop until you reactivate the Control Strip.
The maximum time shown is 1000 hours. After that, it will start again at zero.
Control PPP asks the Control Strip to save the cumulative timer to disk every minute, and also when you disconnect, but this request will be postponed on a PowerBook if your hard disk isn╒t spinning.
If you╒re handy with ResEdit, you can save or waste some CPU cycles by changing the frequency at which Control PPP redraws the timers and saves the cumulative time to disk when connected. How to do it is left as an exercise to the reader.
Known Limitations with Desktop Strip
Desktop Strip has a problem with dialog boxes, as mentioned in its ╥read me╙ file. Thanks to a hint from Mike Throckmorton, I've got Desktop Strip to recognise the main MacPPP dialog box, but any secondary dialog box that MacPPP produces in the course of making a connection won╒t accept mouse or keyboard actions. Once you have successfully connected, things are fine.
This means there is a risk that you will be unable to regain control of your Mac if you use Desktop Strip and the connection fails in such a way that you need to click a button in a secondary MacPPP dialog to exit (eg your modem was switched off or failed to negotiate a connection). If this worries you, do not use Control PPP with Desktop Strip; use Apple╒s Control Strip, which does not suffer from this problem. Or, if you have QuicKeys or KeyQuencer, try my MacPPP QuicKeys or PPPquencer instead.
Apple╒s Control Strip can be patched to work with desktop Macs with a patcher available at your nearest info-mac mirror. Last time I looked, the latest version was:
/info-mac/gui/control-strip-patcher-20.hqx
I hear that the Control Strip that comes with System 7.5.2 for PCI PowerMacs will run on desktop Macs without needing to be patched. This will presumably become available to users of other Macs in due course.
These problems do not occur with Apple╒s Control Strip. Sigurdur Asgeirsson, the author of Desktop Strip, is working to remove the problem and a fix is imminent.
Other Limitations
Control PPP uses the Finder to open the control panels. If you have quit the Finder, Control PPP will just beep at you if you try to open a control panel.
At startup time it looks for the control panels by creator signature (rather than by name) and stores aliases to them, so it will still work if you rename them or move them after startup. However, it only looks in the Control Panels folder, so it won╒t work if you╒ve put one of the control panels elsewhere and restarted.
There is a bug in MacPPP 2.0.1 and its derivatives. The bug only affects people who are in the habit of switching MacTCP from Ethernet/LocalTalk to PPP and back again, ie mostly PowerBook Duo users.
MacPPP installs, among other things, a function that allows other programs to use a mechanism called ╥Gestalt╙ to find out whether MacPPP is connected or not. These programs include the usual ╥Config PPP╙ control panel, ╥Control PPP╙, Mark Aldritt's ╥MacTCP Control╙ Scripting extension, and my ╥MacPPP QuicKeys╙ extension and ╥PPPquencer╙ KeyQuencer extension.
If you start up with MacTCP using Ethernet/LocalTalk, switch to PPP, and then switch back, MacTCP disposes of its copy of the MacPPP code, including the gestalt function, and any of the programs mentioned above is likely to crash or hang.
Credits
Special thanks to Steve Dagley, the author of MacPPP 2.1.2SD and FreePPP, for providing an Open Transport compatible MacPPP and selflessly showing me how to do it too. This guy is Mac Hero of the Year, 1995.
Control PPP is based on my MacPPP QuicKeys, available from your nearest Info-Mac mirror. Thanks to NW Choe at the University of Chicago for the initial idea of doing a Control Strip module, to Metrowerks for the best compiler yet seen on the Mac, to Uni Software╒s Voodoo for superlative version control (every programmer should check the demo on info-mac), to Paul Andrews for improving the icons, and to Mike Throckmorton for suggesting the partial workaround for Desktop Strip.
Version 1.2 was mostly written and tested to music by the Beautiful South, JS Bach, Jesus Jones and the Rolling Stones (in spite of the Windows 95 ads).
Fine Print
Control PPP is ⌐ 1995 Richard Buckle and postcardware. Non-commercial distribution is encouraged, but please only distribute the original compressed archive so that all the files stay together. Commercial distribution requires my express written permission, and possibly that of the Regents of the University of Michigan and the Merit Network, Inc.
If you like Control PPP, send me a postcard at:
230 Wandsworth Bridge Road,
London,
United Kingdom.
SW6 2UD.
Most of my offerings get written because I want them myself, but I judge how much effort to spend maintaining them by the reponse I get. If you really can't afford a postcard, send me email. Both are cheap. Either way, include your email address so I can notify you of updates to Comtrol PPP.
Suggestions and bug reports are welcome. If you want to send money, please donate it to a medical research charity instead. But do let me know if you did; it will encourage me to keep working on Control PPP.
Portions of Control PPP are derived from the MacPPP source code and are therefore copyright 1993 by the Regents of the University of Michigan and the Merit Network, Inc. Usage of this source code is restricted to non-profit, non-commercial purposes. The MacPPP program and source code are available at: ftp://merit.edu/pub/ppp/mac/
Control PPP is distributed as is in the hope it may be useful. I believe it to be safe, subject to the limitations described in this document, but you are warned that I accept no responsibility for any loss or damage caused by its use. So if it trashes your hard disk and you lose $1,000,000 worth of unbacked-up data, that╒s your problem.
All trademarks are acknowledged.
Richard Buckle hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. Richard Buckle will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Richard Buckle or an agent of his has been advised of the possibility of such damages. In no event shall Richard Buckle be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software.
US Government:
Government End Users: If you are acquiring this software on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees: (i) if this software is supplied to the Department of Defense (DoD), the software is classified as "Commercial Computer Software" and the Government is acquiring only "restricted rights" in the software, its documentation and fonts as that term is defined in Clause 252.227-7013(c)(1) of the DFARS; and (ii) if the software is supplied to any unit or agency of the United States Government other than DoD, the Government's rights in the software, its documentation and fonts will be as defined in Clause 52.227-19(c)(2) of the FAR or, in the case of NASA, in Clause 18-52.227-86(d) of the NASA Supplement to the FAR.
So there.
Version History
1.2.1
Fixed an obscure bug whereby Control PPP could either crash on startup or become unable to open the control panels.
1.2
Open Transport compatible ╤ I hope! (thanks, Steve).
Control PPP now puts up an alert if it gets an error (other than the absence of MacPPP) when loading itself and refuses to run. Previously it would try to run, and usually meet an untimely end, because I had misread Apple's documentation about how to report such errors to the Control Strip.
The timers should no longer overlap when using Desktop Strip in vertical mode.
1.1.1
Fixed a stupid bug whereby Control PPP constantly saved the cumulative time to disk if the timer was hidden.
1.1
Timers added. Icons improved (thanks, Paul). You can now Soft Close by using the command key. Partial fix for Desktop Strip (thanks, Mike).
1.0.1
Revised to ensure that the connected/disconnected icon gets updated in the background.
1.0
Initial public release. Limited compatibility with Desktop Strip as mentioned above.